1. Field of the Invention
The present invention relates to an electronic musical instrument including a tone generator controller and, more particularly, to an electronic musical instrument including a tone generator controller, which can efficiently control tone generator systems of different types.
2. Description of the Related Art
In recent years, an electronic musical instrument mounts a plurality of tone generator systems of different types. Each of these tone generator systems normally comprises one or a plurality of LSIs, and is connected to a bus line together with a central processing unit (CPU) for controlling operations of the entire electronic musical instrument. The CPU detects an operation of a performance operation element such as a key of a keyboard, and supplies a tone generation instruction to the tone generator system in accordance with the detected operation. The CPU detects an operation of a panel switch, and supplies a tone color setting instruction to the tone generator system in accordance with the detected operation. The tone generator system generates a tone signal or changes and sets an internal tone color parameter according to an instruction from the CPU.
FIG. 7 shows a schematic arrangement of a conventional electronic musical instrument. This electronic musical instrument comprises a performance operation element 101, a CPU 102, a program memory 103, and tone generators 105A to 105M. The performance operation element 101 is operated by a player to generate a tone, and is, e.g., a keyboard for outputting performance information according to an operation of the player. The CPU 102 operates according to programs stored in the program memory 103. The tone generators 105A to 105M are tone generator systems of different types, which generate tone signals and set tone colors, and the like in accordance with instructions from the CPU 102. The tone generators 105A to 105M respectively have different interfaces since they are of different types. For example, when the CPU 102 instructs the tone generators 105A and 105B to generate tone signals, it uses different instruction formats.
The program memory 103 stores a common program 103' for controlling the entire electronic musical instrument, a control program 103A for the tone generator 105A, a control program 103B for the tone generator 105B, . . . , a control program 103M for the tone generator 105M.
The CPU 102 executes the common program 103' to detect performance information from the performance operation element 101 and to detect an operation of a panel switch (not shown). As described above, since the tone generators 105A to 105M are of different types of tone generators, the CPU 102 executes different processing for each of tone generators to supply corresponding instructions. For example, the CPU 102 executes the control program 103A for the tone generator 105A when it supplies an instruction to the tone generator 105A, executes the control program 103B for the tone generator 105B when it supplies an instruction to the tone generator 105B, . . .
In the above-mentioned prior art, when the CPU supplies an instruction to one of the tone generators, it executes the corresponding one of the control programs 103A to 103M. Therefore, the CPU must execute many steps for each of tone generators, thus lowering processing efficiency of the CPU.
On the other hand, paying attention to one tone generator, most of digital tone generator systems of electronic musical instruments in recent years realize polyphonic architectures by time-divisional multiplexing processing. Since the time-divisional multiplexing processing is executed, a tone generator operates at a processing timing asynchronous with the CPU and synchronous with a sampling frequency. A tone signal generation instruction or a tone color setting/changing instruction from the CPU is realized by transferring predetermined instruction data to a tone generator in practice. In this case, since a tone generator system as a receiving end of data operates at a unique processing timing, the CPU must perform data transfer while monitoring the condition of the tone generator system, resulting in troublesome, inefficient control.
For example, U.S. Pat. No. 5,200,565 discloses a system wherein when a new parameter (i.e., a read/write memory address) is written, the CPU must wait for one DAC cycle since the time-divisional multiplexing processing is performed. In this manner, since the tone generator operates at a unique processing timing, the CPU must wait when it reads/writes data, resulting in inefficient control.